Skip to content

fix: treat lockfile-only package changes as releasable#3905

Open
haosenwang1018 wants to merge 2 commits intomodelcontextprotocol:mainfrom
haosenwang1018:fix/release-lockfile-changes
Open

fix: treat lockfile-only package changes as releasable#3905
haosenwang1018 wants to merge 2 commits intomodelcontextprotocol:mainfrom
haosenwang1018:fix/release-lockfile-changes

Conversation

@haosenwang1018
Copy link
Copy Markdown

Summary

  • make scripts/release.py treat any tracked file change inside a package directory as a releasable change
  • stop filtering release bumps to only .py and .ts files, which skipped lockfile-only package updates
  • add a regression test covering a package with only uv.lock changes

Why

Issue #3870 shows that a package can change between tags via uv.lock alone, but the current release script skips bumping its version because has_changes() only counts .py and .ts files.

That leaves pyproject.toml on an older version even though the tagged release includes a changed package directory.

Testing

  • python -m pytest tests/test_release.py -q

Fixes #3870

Copy link
Copy Markdown
Member

@olaservo olaservo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The core fix looks good — lockfile-only changes should absolutely be treated as releasable, and the test is thorough (creates a real temp git repo).

One small ask: the README.md comma fix (line 144) is unrelated scope. Could you split that into a separate commit or drop it from this PR? Keeps the git history clean.

Otherwise this is ready to go.


This review was assisted by Claude Code.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Release script skips version bump for packages with only lockfile changes

2 participants